在介紹完 go 的基本內容後這一篇要開始進入常常會用到的語法,go 變數的類別、宣告、初始化以及賦值,還有與變數相關的語法例如轉型、常數變數。
本文同步放置於此
在介紹變數的語法之前要先跟大家分享一下變數類型,接下來筆者依據變數的大類來跟大家分享變數的類型
這部分先跟大家分享整數的類型
int int8 int16 int32 int64
uint uint8 uint16 uint32 uint64 uintptr
byte // alias for uint8
rune // alias for int32
// represents a Unicode code point
上面羅列一些整數型態,常用的應該是int
、uint
、byte
之類的不過 Go tour 建議如果沒有特殊用途不要使用非int
這部分泛指有小數點的類別,內容如下
float32 float64
complex64 complex128
其中兩個差別是complex64
的精度比float32
高
在認識變數的類型後接下來跟大家分享一下如何宣告變數,請看下列例子。
package main
import "fmt"
var i, j int = 1, 2
func main() {
var c, python, java = true, false, "no!"
fmt.Println(i, j, c, python, java)
}
在這邊的變數i
及j
是定義在全域的指定為整數的變數,並且分別賦予1與2的值。
而c
與python
跟java
則是區域變數會經過賦予true以及false的布林值跟no!的字串
介紹完變數宣告與賦值後要介紹給大家是如何將不同型別的資料放到變數之中,因為 go 是強型別的語言所以很有機會遇到這問題,所以請大家看看下面例子。
package main
import (
"fmt"
"math"
)
func main() {
var x, y int = 3, 4
var f float64 = math.Sqrt(float64(x*x + y*y))
var z uint = uint(f)
fmt.Println(x, y, z)
}
簡單說明就是把型別的名稱當成方法來使用就可以將該變數轉換成另一種型別。
最後介紹一下常數變數,這通常用在不想留下魔術數字的時候使用,請大家看看下列例子。
package main
import "fmt"
const Pi = 3.14
func main() {
const World = "世界"
fmt.Println("Hello", World)
fmt.Println("Happy", Pi, "Day")
const Truth = true
fmt.Println("Go rules?", Truth)
}
上面的Pi是全域的常數變數而World以及Truth則是區域的常數變數
這篇文章跟大家分享一下變數的相關知識,例如變數的型態、宣告及賦值等等的語法,接下來會更進一步跟大家分享一下容器型的類別,如list
及map
等等的變數。還有上面有些範例來自於 Go tour 有興趣的讀者可以上去練習一下。